// 房间类型管理

import r from '@/utils/request'
import { type ListParams, type ListResponseType, type ResponseType } from '../types'

enum API {
    housetypeList = "/housetype/list", // 房间类型列表
    housetypeAdd = "/housetype/add", // 房间类型添加
    housetypeUpdate = "/housetype/update", // 房间类型修改
    housetypeDelete = "/housetype/delete", // 房间类型删除
    housetypeDeleteAll = "/housetype/deleteAll", // 房间类型删除
}

export interface housetypeListParams {
    name: string;
    buildingId: number;
}

export interface housetypeListResAPI {
    id:        number;
    companyId: number;
    name:      string;
}

export function gethousetypeListAPI(Params:ListParams):Promise<ListResponseType<housetypeListResAPI[]>> {
    return r.get(API.housetypeList,Params)
}

export interface  housetypeAddAndUpdateParams {
    id:         number;
    name:       string;
}

export interface housetypeAddAndUpdateResAPI {
    id:             number;
    companyId:      number;
    name:           string;
}

export function housetypeAddAPI(Params:housetypeAddAndUpdateParams):Promise<ResponseType<housetypeAddAndUpdateResAPI>> {
    return r.post(API.housetypeAdd,Params)
}

export function housetypeUpdateAPI(Params:housetypeAddAndUpdateParams):Promise<ResponseType<null>> {
    return r.put(API.housetypeUpdate,Params)
}

export function housetypeDeleteAPI(id:number):Promise<ResponseType<null>> {
    return r.delete(API.housetypeDelete+'/'+id)
}

export function housetypeDeleteAllAPI(ids:number[]):Promise<ResponseType<null>> {
    return r.post(API.housetypeDeleteAll,ids)
}